package com.ruoyi.business.service;

import com.ruoyi.business.domain.TOrderInfo;
import com.ruoyi.business.response.OrderStatisticResp;
import com.ruoyi.business.response.ResponseData;

import java.util.List;

/**
 * 订单列表Service接口
 * 
 * @author ruoyi
 * @date 2024-02-26
 */
public interface ITOrderInfoService
{
    /**
     * 查询订单列表
     * 
     * @param id 订单列表主键
     * @return 订单列表
     */
    public TOrderInfo selectTOrderInfoById(Long id);

    /**
     * 查询订单列表列表
     * 
     * @param tOrderInfo 订单列表
     * @return 订单列表集合
     */
    public List<TOrderInfo> selectTOrderInfoListBySh(TOrderInfo tOrderInfo);


    public List<TOrderInfo> selectTOrderInfoList(TOrderInfo tOrderInfo);

    public List<TOrderInfo> selectTOrderInfoListByNoAuth(TOrderInfo tOrderInfo);
    /**
     * 新增订单列表
     * 
     * @param tOrderInfo 订单列表
     * @return 结果
     */
    public int insertTOrderInfo(TOrderInfo tOrderInfo);

    /**
     * 修改订单列表
     * 
     * @param tOrderInfo 订单列表
     * @return 结果
     */
    public int updateTOrderInfo(TOrderInfo tOrderInfo);


    /**
     * 批量删除订单列表
     * 
     * @param ids 需要删除的订单列表主键集合
     * @return 结果
     */
    public int deleteTOrderInfoByIds(String ids);

    /**
     * 删除订单列表信息
     * 
     * @param id 订单列表主键
     * @return 结果
     */
    public int deleteTOrderInfoById(Long id);

    ResponseData addNewOrder(TOrderInfo orderInfo) throws Exception;

    List<OrderStatisticResp>  statisticList(TOrderInfo orderInfoParam);

    List<OrderStatisticResp>  statisticByShList(TOrderInfo orderInfoParam);

    OrderStatisticResp  statisticBySh(TOrderInfo orderInfoParam);

    OrderStatisticResp  statistic(TOrderInfo orderInfoParam);

    public int updateAllTimeout();


}
